var a;
var b;
//字面量, 类似常量, 无法更改
var c;
//在给定的集合中选择(联合类型)
var d;
var e;
e = 'hello';
e = true;
//any 随便写, 和js一样了...  一般不用这个
var f; //显式any, 类似于空接口, 谁都可以接
f = 'hello';
f = 10;
var g; //隐式any(不要使用)
g = 10;
d = g; //干扰到了之前的约束变量, 污染
//类型安全的any, 不能付给别的变量
var h;
h = '100';
if (typeof h === "string") {
    b = h;
}
h = 'hello';
//断言h是string, 是就干, 不是滚蛋
b = h;
h = "world";
//断言的另一种写法
b = h;
console.log('b is: ' + b);
